Skip to content

Conversation

@zeroSteiner
Copy link
Contributor

@zeroSteiner zeroSteiner commented May 9, 2025

This adds two PHP adapters, one for going to ARCH_CMD and one for coming from ARCH_CMD. This requires changes added to rapid7/rex-random_identifier#16 to define the PHP language that's now used in a few places. While refactoring code, it became pretty clear that the function to generate a PHP stub that executes a command had been copy-pasted quite a few times. There's now a mixing method providing it in a single location. It shouldn't be necessary moving forward though because module authors can just use the adapter now which does the same thing, no new target definition required.

Three payloads were removed that were effectively just invocations of Perl commands from PHP. There are ARCH_CMD equivalents of those payloads, so keeping them and refactoring them was redundant and unnecessary.

  • Try one of the new php/unix/cmd/* payloads
  • Try one of the new cmd/unix/php/ payloads
  • Review the refactored modules

@smcintyre-r7 smcintyre-r7 requested a review from bwatters-r7 May 9, 2025 20:50
@bwatters-r7 bwatters-r7 self-assigned this May 9, 2025
@zeroSteiner zeroSteiner force-pushed the feat/mod/payload/php-adapters branch from df92d85 to 6308762 Compare May 9, 2025 20:55
@zeroSteiner zeroSteiner force-pushed the feat/mod/payload/php-adapters branch from 6308762 to e009e14 Compare May 12, 2025 15:54

@dis = dis
dis = options[:disabled_varname] || vars[:disabled_varname]
dis = '$' + dis unless dis.start_with?('$')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this expected to be misaligned like this?
I would think rubocop would have caught this, but maybe it gets aligned with the = further down in the file?

@zeroSteiner zeroSteiner force-pushed the feat/mod/payload/php-adapters branch 2 times, most recently from a033d51 to 029f4b7 Compare May 22, 2025 14:41
@zeroSteiner
Copy link
Contributor Author

I need to rebase this again now that #19976 was landed. I didn't realize there was already a PR to do some of this but this still adds a second adapter and some much needed refactoring.

@zeroSteiner zeroSteiner force-pushed the feat/mod/payload/php-adapters branch from d472a5d to 6c05ffb Compare May 30, 2025 13:06
@bwatters-r7
Copy link
Contributor

Release Notes

Adds two PHP adapters, one for going to ARCH_CMD and one for coming from ARCH_CMD.

@bwatters-r7 bwatters-r7 added rn-enhancement release notes enhancement rn-payload-enhancement release notes for enhanced payloads labels Jun 6, 2025
@zeroSteiner
Copy link
Contributor Author

I saw this was approved and release notes have been written. Should it be merged?

@bwatters-r7 bwatters-r7 merged commit ebae201 into rapid7:master Jun 9, 2025
63 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rn-enhancement release notes enhancement rn-payload-enhancement release notes for enhanced payloads

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants